//[1, 8, 3, 2, 6, 10] 的最长递增子序列为【1,2,6,10】 输出4
function lengthOfLIS(nums) {
  const n = nums.length;
  if (n === 0) return 0;

  // dp[i] 表示：以 nums[i] 结尾的最长递增子序列的长度
  const result = new Array(n).fill(1);

  for (let i = 0; i < n; i++) {
    for (let j = 0; j < i; j++) {
      if (nums[j] < nums[i]) {
        result[i] = Math.max(result[i], result[j] + 1);
      }
    }
  }

  // 整个数组的 LIS 长度是 dp 数组的最大值
  return Math.max(...result);
}

console.log(lengthOfLIS([1, 8, 3, 2, 6, 10])); // 4
